1. Technical Field
The present invention is generally directed to performance monitoring of storage area networks (SANs). More specifically, the present invention is directed to a system and method for path saturation in a storage area network so that a maximum throughput of the storage area network is determinable.
2. Description of Related Art
In today's increasingly complex organizational data environments, storage needs are exploding for a variety of reasons. The phenomenal growth is fueled by the ubiquity of specialized applications serving every area of the enterprise in a seemingly endless variety of mission critical roles, the burgeoning space requirements and complexity of modern applications, the size of records, such as still images, video, sound files, and documents containing fragments of each, and finally due to the redundancy requirements imposed by the necessity for computing systems to operate twenty four hours a day, seven days a week.
Organizations have responded to these needs by employing large direct-attached disk arrays, a variety of network attached storage devices, a rapid adoption of storage area networks (SANs) and, most recently, by deploying an additional intermediate tier of storage virtualization equipment and software. FIG. 1 illustrates an overview of a modern storage infrastructure highlighting the growing number of complex devices between the application server and the actual data on a physical storage disk. As shown in FIG. 1, the SAN 100 permits a plurality of servers 110 to access data and storage space on a plurality of physical storage devices 160. The servers 110 interface with a server SAN 120 which in turn interfaces with a virtualization server 130. The server SAN 120 provides a control point at which access requests for data and storage space on the physical storage devices 160 are controlled. The server SAN 120 is that portion of the overall storage infrastructure that provides direct connectivity to the application servers and database servers. Where storage virtualization is used, the server SAN 120 is that portion of the overall storage infrastructure between the servers and the storage virtualization equipment. The physical storage devices 160 are accessed via the storage servers 150 which control access to their individual stable of storage devices 160. The storage servers 150 are accessed via the storage SAN 140 which controls routing of access requests to the various storage servers 150.
The server SAN 120 accesses the storage SAN 140 via the virtualization server 130. The virtualization server 130 provides address translation and mapping such that the requests from the servers 110 appear, from the viewpoint of the storage SAN 140, to be from a single server and that the physical devices 160 appear, from the viewpoint of the servers 160, to be a single physical device, or appear to be a uniform series of physical devices. This virtualization aids in decoupling the servers 110 from the physical storage devices 160 so that servers 110 may be remotely located from the physical storage devices 160. More importantly, this virtualization aids in decoupling the servers 110 from the physical storage devices 160 so that the operation and use of servers 110 can be independent of the selection and management of the physical storage devices 160.
Still in early childhood, SANs provide a high-speed connection between servers and disk/tape storage resources. SANs permit any server-based resources to access common storage resources. SANs eliminate the traditional dedicated connection between a server and storage, along with the concept that the server “owns and manages” the storage devices. The SAN introduces the flexibility of networking to enable one server or many heterogeneous servers to share a common storage utility which may comprise many storage devices. In so doing, the SAN is unencumbered by geographical proximity and instead relies upon persistent communication links. SANs exist separately from previously existing inter-server data networks, e.g., local area networks (LANs) and wide area networks (WANs) because they provide a different kind of data transport. While LANs and WANs focus on communications between applications and between applications and users, SANs provide a high-speed infrastructure focused on large transfers between storage and server hardware. In summary, a SAN changes the server-centric model of the typical open systems information infrastructure and replaces it with a data-centric infrastructure.
Recent work with regard to SANs is primarily focused on improving storage management and does not focus on storage performance. That is, an organization deploying a SAN will experience a number of important uncertainties about storage performance and the impact of storage performance on application performance. Most particularly, an organization deploying new storage equipment or making major modifications or expansions of a storage infrastructure cannot tell if it can expect to be experiencing application performance problems due to weakness in the design of the storage infrastructure, selection of the wrong storage components, or a misconfiguration of storage components.
Methods exist in traditional communication networks to identify bottlenecks and slowdowns in paths from Ethernet cards through switches, hubs and routers. These techniques identify weak points in the network so that appropriate corrective action may be taken. However, by contrast, the SAN has to-date only simple tools to identify an amount of traffic through switches. Interestingly, no method for end-to-end traffic flow analysis and monitoring from processor to physical storage device and back to the processor exists.